home *** CD-ROM | disk | FTP | other *** search
- /* 86WORLD Figure 9 - ReadGemFont
- Micro Cornucopia Magazine Issue #46 */
-
- /*--- Read a GEM font file into global arrays ----------*/
- GemFontHeader GemFont;
- char bitmap[32767]; /* watch out you don't read anything bigger */
- int chofstable[256+1];
-
- void ReadGemFont(char filename[])
- {
- FILE* fin = fopen(filename,"rb");
- /* read header info */
- fread(&GemFont, sizeof(GemFont), 1, fin);
- /* read horizontal offset table */
- fseek(fin, GemFont.gfCharOfsTable, SEEK_SET);
- fread(&chofstable,
- (GemFont.gfLastChar-GemFont.gfFirstChar+2)*2, 1, fin);
- /* read bitmap */
- int bitmapsize = GemFont.gfFormWidth * GemFont.gfFormHeight;
- fseek(fin, GemFont.gfBitsOffset, SEEK_SET);
- fread(&bitmap, bitmapsize, 1, fin);
- fclose(fin);
- } /* ReadGemFont */
-